package com.sayice.robotconflict.common.util;

/**
 * 数学工具类
 *
 * @author shubing
 */
public class MathUtil {
    /**
     * 计算最大公约数
     */
    public static int gcd(int a, int b) {
        while (b != 0) {
            int tmp = a % b;
            a = b;
            b = tmp;
        }
        return a;
    }
    
    /**
     * 判断两个数是否具有相同的符号
     *
     * @param a 数字 a
     * @param b 数字 b
     * @return true表示 a 和 b 具有相同的符号，false反之
     */
    public static boolean isSameSign(double a, double b) {
        return ((Double.doubleToLongBits(a) ^ Double.doubleToLongBits(b)) & (1L << 63)) == 0;
    }
}
